/**  
 * @Title: OrderPageVO.java
 * @Package com.silverbox.sweeporder.controller.waimai.vo
 * @author litao
 * @date 2018年1月11日
 */
package com.silverbox.sweeporder.controller.waimai.outvo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import io.swagger.annotations.ApiModelProperty;

/**
 * ClassName: OrderPageVO
 * 
 * @author litao
 * @date 2018年1月11日
 */
public class WaimaiVO{

	@ApiModelProperty(notes = "id")
	private Long id;

	@ApiModelProperty(notes = "订单创建时间")
	private String createTime;

	@ApiModelProperty(notes = "是否核销 1已核销  0未核销")
	private Integer isHexiao = 0;

	@ApiModelProperty(notes = "是否整单打包  1是 0否")
	private Integer isOut;

	@ApiModelProperty(notes = "备注")
	private String note;

	@ApiModelProperty(notes = "订单号")
	private String orderNum;

	@ApiModelProperty(notes = "订单序号")
	private String orderSeq;

	@ApiModelProperty(notes = "订单状态  -1（扫码下单先付后吃已下单、在线订单已下单） 0.待确认订单，1.商家已接单，2.商家拒单，3.加菜订单，5.退款中，6.已退款，7.拒绝退款 11，交易完成，12交易取消")
	private Integer orderStatus;

	@ApiModelProperty(notes = "订单类型  0:扫码下单订单 1:在线订单 2智能取餐柜订单4预约配送订单")
	private Integer orderType;

	@ApiModelProperty(notes = "原价")
	private Double originalPrice;

//	@ApiModelProperty(notes = "买家支付宝账号")
//	private String payAccount;

	@ApiModelProperty(notes = "支付方式")
	private Integer payModel;

	@ApiModelProperty(notes = "支付状态 0,未付款 1,已付款,")
	private Integer payStatus;

	@ApiModelProperty(notes = "订单支付时间")
	private String payTime;

	@ApiModelProperty(notes = "就餐人数")
	private Integer peopleNumber;

	@ApiModelProperty(notes = "退款金额")
	private Double refundFee;

	@ApiModelProperty(notes = "商户退款单号")
	private String refundNo;

	@ApiModelProperty(notes = "退款时间")
	private Date refundTime;

	@ApiModelProperty(notes = "总支付金额")
	private Double totalPay;

	@ApiModelProperty(notes = "订单总价")
	private Double totalPrice;

	@ApiModelProperty(notes = "卖家拒绝退款时的说明信息")
	private String refuseMessage;
	
	@ApiModelProperty(notes = "买家退款时的说明信息")
	private String cancleReason;

//	@ApiModelProperty(notes = "机器Id")
//	private Long machineId;

	@ApiModelProperty(notes = "桌台名称")
	private String tableNum;

	@ApiModelProperty(notes = "到店取餐时间")
	private String reachTime;

	@ApiModelProperty(notes = "桌台UId")
	private String tableUid;

	@ApiModelProperty(notes = "是否已删除 1是  0否")
	private Integer isDelete = 0;

	@ApiModelProperty(notes = "核销类型 0:商家核销，1:顾客核销")
	private Integer hexiaoType = 0;

	@ApiModelProperty(notes = "其他费用 （餐具费）")
	private Double otherPrice;

    @ApiModelProperty(notes = "拣货状态")
    private Integer purchStatus;

    //	@ApiModelProperty(notes = "是否已经结账  (用于云POS轮询未结账订单)")
//	private Integer isCheckout = 0;

//	@ApiModelProperty(notes = "不打折金额")
//	private Double actualAmount;

//	@ApiModelProperty(notes = "订单来源是否是第三方扫码进入")
//	private Integer source = 0;

//	@ApiModelProperty(notes = "会员Id")
//	private String uid;

	@ApiModelProperty(notes = "是否为代付订单-1 已发送代付请求，0 非代付且未发送代付请求，1 代付订单")
	private Integer isOtherPay = 0;

//	@ApiModelProperty(notes = "订单更新时间")
//	private Date updateTime;
	
	@ApiModelProperty(notes = "商家优惠金额")
    private Double thirdPromotionFee;

    @ApiModelProperty(notes = "会员价金额")
    private Double memberTotalPrice;

    @ApiModelProperty(notes = "原购买总价")
    private Double totalBuyOriginalPrice;

	@ApiModelProperty(notes = "支付平台优惠金额")
    private Double payplatformPromotionFee;
	
	@ApiModelProperty(notes = "订单交易流水号")
    private String tradeNo;
	
	@ApiModelProperty(notes = "验证码")
    private String identifyingCode;
	
	@ApiModelProperty(notes = "智能取餐柜订单状态    0 备餐中   1待取餐  2已取餐")
    private Integer prepMealStatus;
	
	@ApiModelProperty(notes = "取餐柜编号")
    private String containerNum;
	
	@ApiModelProperty(notes = "订单来源")
    private Long outerSupportId;
	
	@ApiModelProperty(notes = "订单版本号")
    private Integer posVersion;
	
	@ApiModelProperty(notes = "取餐码")
    private String takeMealCode ;
	
	@ApiModelProperty(notes = "判断是否开通微信支付")
    private Integer isOpenWxPay ;
	
	@ApiModelProperty(notes = "用户信息")
	private WaimaiUserInfoVO userInfo;
	
	@ApiModelProperty(notes = "店铺信息")
	private WaimaiShopperVO shopperInfo;
	
	@ApiModelProperty(notes = "订单item项")
	private List<WaimaiItemVO> waimaiItems = new ArrayList<WaimaiItemVO>();

	@ApiModelProperty(notes = "取餐柜柜子信息")
	private List<CupboardOrderRecordVO> recordList;
	
	@ApiModelProperty(notes = "购物车里面有几个优惠的商品")
	private Integer itemCount;
	
	@ApiModelProperty(notes = "是否可以开具发票")
	private Boolean isOpenInvoice = false;

    @ApiModelProperty(notes = "订单会员优惠价格")
    private Double memberDiscountPrice;

    @ApiModelProperty(notes="扫码下单开发票跳转地址")
    private String invoiceUrl;

    @ApiModelProperty(notes = "1：商家已接单2：订单取消 3：骑手已接单 4：骑手已取货 5：送达 6：订单已过期 7：订单异常")
    private Integer deliveryStatus;

    //收货地址经度
    @ApiModelProperty(notes="收货地址经度")
    private String receiverLng;
    //收货地址纬度
    @ApiModelProperty(notes="收货地址纬度")
    private String receiverLat;
    //配送费
    @ApiModelProperty(notes="配送费")
    private Double deliveryPay;
    //收货人名称
    @ApiModelProperty(notes="收货人名称")
    private String receiverName;
    //收货人性别
    @ApiModelProperty(notes="收货人性别")
    private Integer receiverSex;
    //收货人电话
    @ApiModelProperty(notes="收货人电话")
    private String receiverTel;
    //收货人地址
    @ApiModelProperty(notes="收货人地址")
    private String receiverAddress;
    //用户昵称
    @ApiModelProperty(notes="用户昵称")
    private String buyerNick;
    //打包费用
    @ApiModelProperty(notes="打包费用")
    private Double bagPrice;
    //配送时段(整点时间)
    //起送时间
    @ApiModelProperty(notes="配送起始时间")
    private String startDeliveryTime;
    //结束时间
    @ApiModelProperty(notes="配送结束时间")
    private String endDeliveryTime;
    //reachTime配送年月日时间点

    @ApiModelProperty(notes="配送方式")
    private Integer takeOutMethod;

    @ApiModelProperty(notes="优惠金额")
    private Double promotionPrice;

    @ApiModelProperty(notes="优惠描述")
    private String promotionDesc;

    @ApiModelProperty(notes="优惠名称")
    private String promotionName;

    @ApiModelProperty(notes="所使用的优惠券")
    private String couponsUsedId;

    public String getCouponsUsedId() {
        return couponsUsedId;
    }

    public WaimaiVO setCouponsUsedId(String couponsUsedId) {
        this.couponsUsedId = couponsUsedId;
        return this;
    }

    public Double getTotalBuyOriginalPrice() {
        return totalBuyOriginalPrice;
    }

    public WaimaiVO setTotalBuyOriginalPrice(Double totalBuyOriginalPrice) {
        this.totalBuyOriginalPrice = totalBuyOriginalPrice;
        return this;
    }

    public Double getMemberTotalPrice() {
        return memberTotalPrice;
    }

    public WaimaiVO setMemberTotalPrice(Double memberTotalPrice) {
        this.memberTotalPrice = memberTotalPrice;
        return this;
    }

    public String getPromotionDesc() {
        return promotionDesc;
    }

    public WaimaiVO setPromotionDesc(String promotionDesc) {
        this.promotionDesc = promotionDesc;
        return this;
    }

    public String getPromotionName() {
        return promotionName;
    }

    public WaimaiVO setPromotionName(String promotionName) {
        this.promotionName = promotionName;
        return this;
    }

    public Double getPromotionPrice() {
        return promotionPrice;
    }

    public WaimaiVO setPromotionPrice(Double promotionPrice) {
        this.promotionPrice = promotionPrice;
        return this;
    }

    public Integer getTakeOutMethod() {
        return takeOutMethod;
    }

    public WaimaiVO setTakeOutMethod(Integer takeOutMethod) {
        this.takeOutMethod = takeOutMethod;
        return this;
    }

    public Integer getItemCount() {
        return itemCount;
    }

    public WaimaiVO setItemCount(Integer itemCount) {
        this.itemCount = itemCount;
        return this;
    }

    public Boolean getOpenInvoice() {
        return isOpenInvoice;
    }

    public WaimaiVO setOpenInvoice(Boolean openInvoice) {
        isOpenInvoice = openInvoice;
        return this;
    }

    public String getReceiverLng() {
        return receiverLng;
    }

    public WaimaiVO setReceiverLng(String receiverLng) {
        this.receiverLng = receiverLng;
        return this;
    }

    public String getReceiverLat() {
        return receiverLat;
    }

    public WaimaiVO setReceiverLat(String receiverLat) {
        this.receiverLat = receiverLat;
        return this;
    }

    public Double getDeliveryPay() {
        return deliveryPay;
    }

    public WaimaiVO setDeliveryPay(Double deliveryPay) {
        this.deliveryPay = deliveryPay;
        return this;
    }

    public String getReceiverName() {
        return receiverName;
    }

    public WaimaiVO setReceiverName(String receiverName) {
        this.receiverName = receiverName;
        return this;
    }

    public Integer getReceiverSex() {
        return receiverSex;
    }

    public WaimaiVO setReceiverSex(Integer receiverSex) {
        this.receiverSex = receiverSex;
        return this;
    }

    public String getReceiverTel() {
        return receiverTel;
    }

    public WaimaiVO setReceiverTel(String receiverTel) {
        this.receiverTel = receiverTel;
        return this;
    }

    public String getReceiverAddress() {
        return receiverAddress;
    }

    public WaimaiVO setReceiverAddress(String receiverAddress) {
        this.receiverAddress = receiverAddress;
        return this;
    }

    public String getBuyerNick() {
        return buyerNick;
    }

    public WaimaiVO setBuyerNick(String buyerNick) {
        this.buyerNick = buyerNick;
        return this;
    }

    public Double getBagPrice() {
        return bagPrice;
    }

    public WaimaiVO setBagPrice(Double bagPrice) {
        this.bagPrice = bagPrice;
        return this;
    }

    public String getStartDeliveryTime() {
        return startDeliveryTime;
    }

    public WaimaiVO setStartDeliveryTime(String startDeliveryTime) {
        this.startDeliveryTime = startDeliveryTime;
        return this;
    }

    public String getEndDeliveryTime() {
        return endDeliveryTime;
    }

    public WaimaiVO setEndDeliveryTime(String endDeliveryTime) {
        this.endDeliveryTime = endDeliveryTime;
        return this;
    }


	Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getCreateTime() {
		return createTime;
	}

	public void setCreateTime(String createTime) {
		this.createTime = createTime;
	}

	public void setPayTime(String payTime) {
		this.payTime = payTime;
	}
	
	public String getPayTime() {
		return payTime;
	}
	
	public Integer getIsHexiao() {
		return isHexiao;
	}

	public void setIsHexiao(Integer isHexiao) {
		this.isHexiao = isHexiao;
	}

	public Integer getIsOut() {
		return isOut;
	}

	public void setIsOut(Integer isOut) {
		this.isOut = isOut;
	}

	public String getNote() {
		return note;
	}

	public void setNote(String note) {
		this.note = note;
	}

	public String getOrderNum() {
		return orderNum;
	}

	public void setOrderNum(String orderNum) {
		this.orderNum = orderNum;
	}

	public String getOrderSeq() {
		return orderSeq;
	}

	public void setOrderSeq(String orderSeq) {
		this.orderSeq = orderSeq;
	}

	public Integer getOrderStatus() {
		return orderStatus;
	}

	public void setOrderStatus(Integer orderStatus) {
		this.orderStatus = orderStatus;
	}

	public Integer getOrderType() {
		return orderType;
	}

	public void setOrderType(Integer orderType) {
		this.orderType = orderType;
	}

	public Double getOriginalPrice() {
		return originalPrice;
	}

	public void setOriginalPrice(Double originalPrice) {
		this.originalPrice = originalPrice;
	}

	public Integer getPayModel() {
		return payModel;
	}

	public void setPayModel(Integer payModel) {
		this.payModel = payModel;
	}

	public Integer getPayStatus() {
		return payStatus;
	}

	public void setPayStatus(Integer payStatus) {
		this.payStatus = payStatus;
	}

	public Integer getPeopleNumber() {
		return peopleNumber;
	}

	public void setPeopleNumber(Integer peopleNumber) {
		this.peopleNumber = peopleNumber;
	}

	public Double getTotalPay() {
		return totalPay;
	}

	public void setTotalPay(Double totalPay) {
		this.totalPay = totalPay;
	}

	public Double getTotalPrice() {
		return totalPrice;
	}

	public void setTotalPrice(Double totalPrice) {
		this.totalPrice = totalPrice;
	}

	public String getTableNum() {
		return tableNum;
	}

	public void setTableNum(String tableNum) {
		this.tableNum = tableNum;
	}

	public String getReachTime() {
		return reachTime;
	}

	public void setReachTime(String reachTime) {
		this.reachTime = reachTime;
	}
    public Integer getPurchStatus() {
        return purchStatus;
    }

    public WaimaiVO setPurchStatus(Integer purchStatus) {
        this.purchStatus = purchStatus;
        return this;
    }

	public String getTableUid() {
		return tableUid;
	}

	public void setTableUid(String tableUid) {
		this.tableUid = tableUid;
	}

	public Integer getIsDelete() {
		return isDelete;
	}

	public void setIsDelete(Integer isDelete) {
		this.isDelete = isDelete;
	}

	public Integer getHexiaoType() {
		return hexiaoType;
	}

	public void setHexiaoType(Integer hexiaoType) {
		this.hexiaoType = hexiaoType;
	}

	public Double getOtherPrice() {
		return otherPrice;
	}

	public void setOtherPrice(Double otherPrice) {
		this.otherPrice = otherPrice;
	}

	public Integer getIsOtherPay() {
		return isOtherPay;
	}

	public void setIsOtherPay(Integer isOtherPay) {
		this.isOtherPay = isOtherPay;
	}

	public Double getRefundFee() {
		return refundFee;
	}

	public void setRefundFee(Double refundFee) {
		this.refundFee = refundFee;
	}

	public String getRefundNo() {
		return refundNo;
	}

	public void setRefundNo(String refundNo) {
		this.refundNo = refundNo;
	}

	public Date getRefundTime() {
		return refundTime;
	}

	public void setRefundTime(Date refundTime) {
		this.refundTime = refundTime;
	}

	public String getRefuseMessage() {
		return refuseMessage;
	}

	public void setRefuseMessage(String refuseMessage) {
		this.refuseMessage = refuseMessage;
	}

	public String getTradeNo() {
		return tradeNo;
	}

	public void setTradeNo(String tradeNo) {
		this.tradeNo = tradeNo;
	}

	public List<WaimaiItemVO> getWaimaiItems() {
		return waimaiItems;
	}

	public void setWaimaiItems(List<WaimaiItemVO> waimaiItems) {
		this.waimaiItems = waimaiItems;
	}

	public WaimaiUserInfoVO getUserInfo() {
		return userInfo;
	}

	public void setUserInfo(WaimaiUserInfoVO userInfo) {
		this.userInfo = userInfo;
	}

	public WaimaiShopperVO getShopperInfo() {
		return shopperInfo;
	}

	public void setShopperInfo(WaimaiShopperVO shopperInfo) {
		this.shopperInfo = shopperInfo;
	}

	public Double getThirdPromotionFee() {
		return thirdPromotionFee;
	}

	public void setThirdPromotionFee(Double thirdPromotionFee) {
		this.thirdPromotionFee = thirdPromotionFee;
	}

	public Double getPayplatformPromotionFee() {
		return payplatformPromotionFee;
	}

	public void setPayplatformPromotionFee(Double payplatformPromotionFee) {
		this.payplatformPromotionFee = payplatformPromotionFee;
	}

	public String getIdentifyingCode() {
		return identifyingCode;
	}

	public void setIdentifyingCode(String identifyingCode) {
		this.identifyingCode = identifyingCode;
	}

	public List<CupboardOrderRecordVO> getRecordList() {
		return recordList;
	}

	public void setRecordList(List<CupboardOrderRecordVO> recordList) {
		this.recordList = recordList;
	}

	public Integer getPrepMealStatus() {
		return prepMealStatus;
	}

	public void setPrepMealStatus(Integer prepMealStatus) {
		this.prepMealStatus = prepMealStatus;
	}

	public String getContainerNum() {
		return containerNum;
	}

	public void setContainerNum(String containerNum) {
		this.containerNum = containerNum;
	}

	public String getCancleReason() {
		return cancleReason;
	}

	public void setCancleReason(String cancleReason) {
		this.cancleReason = cancleReason;
	}

	public Long getOuterSupportId() {
		return outerSupportId;
	}

	public void setOuterSupportId(Long outerSupportId) {
		this.outerSupportId = outerSupportId;
	}

	public Integer getPosVersion() {
		return posVersion;
	}

	public void setPosVersion(Integer posVersion) {
		this.posVersion = posVersion;
	}

	public String getTakeMealCode() {
		return takeMealCode;
	}

	public void setTakeMealCode(String takeMealCode) {
		this.takeMealCode = takeMealCode;
	}

	public Integer getIsOpenWxPay() {
		return isOpenWxPay;
	}

	public void setIsOpenWxPay(Integer isOpenWxPay) {
		this.isOpenWxPay = isOpenWxPay;
	}

	public Boolean getIsOpenInvoice() {
		return isOpenInvoice;
	}

	public void setIsOpenInvoice(Boolean isOpenInvoice) {
		this.isOpenInvoice = isOpenInvoice;
	}

	public Double getMemberDiscountPrice() {
		return memberDiscountPrice;
	}

	public void setMemberDiscountPrice(Double memberDiscountPrice) {
		this.memberDiscountPrice = memberDiscountPrice;
	}


    public String getInvoiceUrl() {
        return invoiceUrl;
    }

    public void setInvoiceUrl(String invoiceUrl) {
        this.invoiceUrl = invoiceUrl;
    }
	public Integer getDeliveryStatus() {
		return deliveryStatus;
	}

	public void setDeliveryStatus(Integer deliveryStatus) {
		this.deliveryStatus = deliveryStatus;
	}
	
}
